To protect information, users often encrypt data using encryption software. When distributing secure content to members of a group, the secure content is typically encrypted using a session key, and then the session key is encrypted for each member using a public key of the member. Next, the encrypted content and the resulting sets of the encrypted session keys are provided to the members of the group.
The above conventional mechanism has several drawbacks. In particular, the sender of the secure content has to store public keys of all members of the group and has to perform a key lookup for every member each time the secure content is distributed to the group. For a large list of members, these operations require significant storage and processing resources. In addition, a recipient is aware of key identifiers (KeyIDs) of all the other recipients and may be able to determine who the other recipients are based on their KeyIDs. Further, the conventional mechanism does not allow a new member subsequently added to the group to decrypt encrypted content post-factum. Moreover, because the above mechanism requires an encrypted message to include approximately 700 bytes of ASCII text for each member's key, this mechanism is inapplicable to micro-blogging systems.